System and method to purchase applications by a point of sale terminal

ABSTRACT

A system and method to allow users to purchase software applications for point of sale (POS) terminals from an application server via a network (e.g., the Internet) utilizing the POS terminal itself. One or more menus providing portals to available applications and their respective demonstration applications are provided to users on POS terminals. The demonstration applications may be directly downloaded from the application server onto the POS terminals. In addition, the user is able to purchase the application via the POS terminal either before or after the user has viewed/downloaded the demonstration application. After purchase, the application may be downloaded directly from the application server onto the POS terminal.

FIELD OF THE INVENTION

The invention generally relates to point of sale terminals, andparticularly to, point of sale terminals with software applicationpurchase capabilities.

BACKGROUND OF THE INVENTION

A point of sale (POS) terminal is generally used to facilitatecommercial transactions between a merchant and its customers. Typically,customers present a transaction instrument (e.g., credit card, debitcard, charge card, smart card, and the like) to the merchant as paymentat the time of purchase. The transaction instrument is inserted into thePOS terminal and the POS terminal transmits a request for paymentauthorization to the financial institution associated with theparticular transaction instrument. The POS terminal receives paymentauthorization or non-authorization for the request and the transactionis completed.

Typically, when the merchant purchases the POS terminal, a POS terminalincludes software applications for use by the POS terminal. Over time,these software applications become outdated and/or new softwareapplications become available, which the merchant may be interested indemonstrating and/or purchasing provided the merchant becomes aware ofthem. Current POS terminals, however, do not provide the ability for themerchant to demonstrate and/or purchase software applications via thePOS terminal itself. Thus, merchants are usually unaware of updatedversions of software and/or that there are new software applicationsavailable terminals until a salesperson notifies the merchant of such.Therefore, there is a need in the art for a system and method thatallows merchants to demonstrate and/or purchase software applicationsfor their POS terminal utilizing the POS terminal itself.

SUMMARY OF THE INVETION

A computer-implemented method to allow a user to download an applicationfor a point of sale (POS) terminal utilizing the POS terminal accordingto various exemplary embodiments of the invention includes the steps ofstoring the application on an application server and the applicationserver allowing the POS terminal to download the application from theapplication server. In accordance with another exemplary embodiment, themethod includes the step of receiving a purchase request from the POSterminal prior to allowing the POS terminal to download the application.In another exemplary embodiment, the method includes the step of theapplication server allowing the POS terminal to download a demonstrationapplication of the application. In addition, the method may include thesteps of the application server providing a menu to the POS terminal,wherein the menu includes a portal to where the application may bedownloaded. Moreover, the method may include the step of the applicationserver providing a second menu to the POS terminal, wherein the secondmenu includes a plurality of portals to a plurality of applications, andone of the portals is the portal to the application discussed above. Inaccordance with an aspect of one exemplary embodiment, each of theapplications is available for purchase and/or demonstration.

A computer to allow a POS terminal to download an application from saidcomputer according to various exemplary embodiments of the inventionincludes an application server in communication with the merchant POSterminal via a network, wherein the application server is configured tostore the application and allow the POS terminal to download theapplication from the application server. In another exemplaryembodiment, the application server is further configured to receive apurchase request from the POS terminal prior to allowing the POSterminal to download the application.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete understanding of the present invention may be derived byreferring to the detailed description and claims when considered inconnection with the drawing Figures, where like reference numbers referto similar elements throughout the Figures, and

FIG. 1A is a block diagram of an exemplary embodiment of a system toallow a user to demonstrate and/or purchase applications for a point ofsale (POS) terminal utilizing the POS terminal itself;

FIG. 1B is a block diagram of another exemplary embodiment of a systemto allow a user to demonstrate and/or purchase applications for a pointof sale (POS) terminal utilizing the POS terminal itself;

FIG. 2 is a block diagram of another exemplary embodiment of a system toallow a user to demonstrate and/or purchase applications for a POSterminal utilizing the POS terminal itself;

FIG. 3 is a screenshot of one exemplary embodiment of a POS terminalscreen illustrating icons of portals/links to various program options;

FIG. 4 is a screenshot of the screen of FIG. 3 illustrating a menu ofportals/links to downloadable applications and/or demonstrationapplications from one of the program options discussed in FIG. 3;

FIG. 5 is a screenshot of one exemplary embodiment of a sub-menu of oneof the portals/links illustrated in FIG. 4; and

FIG. 6 is a flow diagram of an exemplary method to allow a user todemonstrate and/or purchase applications for a POS terminal utilizingthe POS terminal itself.

DETAILED DESCRIPTION OF THE INVETION

Embodiments of the present invention allow a user (e.g., merchant,retail store employee, restaurant employee, consumer, and the like) todownload applications and/or demonstrations of applications from anapplication server for a point of sale (POS) terminal utilizing the POSterminal itself. By enabling users these download capabilities, usersare able to demonstrate and/or purchase new and updated applicationswith relative ease. The demonstration applications and otherapplications may be downloaded from a manufacturer of the POS terminaland/or a distributor (client) of the POS terminal, such as a financialprocessor, independent sales organization, or value added reseller.Moreover, the merchant, distributor, or other party may choose at thetime of purchase or license of the POS terminal that the merchant willnot participate in the system, wherein users of the POS terminal willnot be able to download demonstration applications and otherapplications.

The following detailed description of exemplary embodiments of theinvention makes reference to the accompanying Figures, which show theexemplary embodiment by way of illustration and its best mode. Whilethese exemplary embodiments are described in sufficient detail to enablethose skilled in the art to practice the invention, it should beunderstood that other embodiments may be realized and that logical andmechanical changes may be made without departing, from the spirit andscope of the invention. Thus, the following detailed description ispresented for purposes of illustration only and not of limitation. Forexample, the steps recited in any of the method or process descriptionsmay. be executed in any order and are not limited to the orderpresented.

For the sake of brevity, conventional data networking, applicationdevelopment and other functional aspects of the systems (and componentsof the individual operating components of the systems) may not bedescribed in detail herein. Furthermore, the connecting lines shown inthe various figures contained herein are intended to represent exemplaryfunctional relationships and/or physical couplings between the variouselements.

It should be noted that many alternative or additional functionalrelationships or physical connections may be present in a practicalelectronic transaction system.

Notably, as used herein, the terms “consumer”, “customer”,“distributor”, “manufacturer”, “client”, “business”, “employee”, “user”,or “merchant” may be used interchangeably with each other, and eachshall mean any person, entity, machine, hardware, software, or business.Furthermore, as used herein, the term demonstration application includesdemonstration applications of an application and/or informationalapplications of the application.

Turning now to the Figures, FIG. 1A is a block diagram of one exemplaryembodiment of a system 100 to allow a user to demonstrate and/orpurchase applications for a POS terminal 110 utilizing POS terminal 110itself. POS terminal 110 may be any device, software, and/orcomponent(s) suitably configured to facilitate a commercial transactionbetween a merchant and a customer utilizing a transaction instrument(e.g., credit card, debit card, charge card, smart card, and the like).Thus, POS terminal 110 may be any POS terminal known in the art ordeveloped in the future. In accordance with an aspect of one exemplaryembodiment of the invention, POS terminal 110 is an Optimum T4100terminal manufactured by Hypercom Corporation of Phoenix, Ariz.,although any POS terminal manufactured by Hypercom Corporation iscertainly contemplated by the invention.

POS terminal 110, according to various embodiments of the invention,includes a transaction instrument reader (e.g., magnetic stripe reader,a smart card reader, a radio frequency reader, and the like); variouselectronic circuits for processing a commercial transaction; a housingfor the POS terminal; and user interface components including one ormore of the following: a display for presenting and/or receivingtransaction information; and a keypad including numeric, alphanumeric,and/or function keys. POS terminal 110 may be used with any number oftransaction instruments, and thus, may provide for interchangeable orsupplemental transaction instrument interfaces. For example, in oneembodiment, a magnetic stripe reader module may be detached from POSterminal 110 housing and a smart card reader module attached to thehousing in its place. Wireless capabilities may also be incorporatedinto POS terminal 110 to provide portability. Periphery devices for usewith POS terminal 110 may include printers, additional displays,personal identification number (PIN) entry pads, alphanumeric keyboards,voice prompt systems, signature capture devices, bar code reader, andbiometric reader. Furthermore, POS terminal 110 may be a stand aloneunit or may be integrated into an electronic cash register (ECR), avending machine, a self check-out kiosk, and the like.

In addition, POS terminal 110 includes a terminal identifier such thatPOS terminal 110 may be identified as the POS terminal that made apurchase when a user utilizes POS terminal 110 to purchase applications.In accordance with an aspect of one exemplary embodiment, the terminalidentifier may be a serial number assigned to POS terminal 110 that isunique across multiple POS terminal populations (i.e., industries). Inanother aspect of the invention, the terminal identifier may be adigital signature that POS terminal 110 utilizes to identify itself whendownloading and/or purchasing applications and/or demonstrationapplications.

Furthermore, POS terminal 110 can be used in conjunction with any typeof personal computer, network computer, workstation, minicomputer,mainframe, or the like running any operating system such as any versionof Windows, Windows XP, Windows NT, Windows 2000, Windows 98, Windows95, MacOS, OS/2, BeOS, Linux, UNIX, Solaris, or the like. Moreover,although the invention is implemented with TCP/IP (Transmission ControlProtocol/Internet Protocol) or Point-to-Point Protocol (PPP)communications protocols, it will be readily understood that theinvention could also be implemented using IPX, Appletalk, IP-6, NetBIOS,OSI, or any number of existing or future protocols. Moreover, the systemcontemplates the use, sale, or distribution of any goods, services, orinformation over any network having similar functionality describedherein.

POS terminal 110, in one exemplary embodiment, is connected to a network120, wherein network 120 may be any software and/or hardwarecomponent(s) suitably configured to facilitate electronic communicationsbetween POS terminal 110 and an external computing device (e.g.,application server 140, which is discussed below). Exemplary networks orcommunication channels include, but are certainly not limited to, atelephone network (i.e., dial-up network), an extranet, an intranet, theInternet, online communications, satellite communications, off-linecommunications, wireless communications, transponder communications, alocal area network (LAN), a wide area network (WAN), networked or linkeddevices, and/or any suitable communication or data input modality.

In addition, POS terminal 110, in one exemplary embodiment, has a secureenvironment such that POS terminal 110 may be used for secure financialtransactions, such as credit transactions and debit transactions. Inthis manner, POS terminal 110 may be used to download and demonstrateapplications from application server 140, without adversely affectingthe secure environment of the POS terminal for financial transactions.

In the illustrated implementation, network 120 is embodied as theInternet and is presumed to be insecure and open to eavesdroppers. Inthis context, POS terminal 110 and/or any computing devices (e.g.,application server 140) may or may not be connected to the Internet atall times. Specific information related to the protocols, standards, andapplication software utilized in connection with the Internet may not bediscussed herein. For further information regarding such details, see,for example, DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2COMPLETE, various authors, (Sybex 1999); DEBORAH RAY AND ERIC RAY,MASTERING HTML 4.0 (1997). LOSHIN, TCP/IP CLEARLY EXPLAINED (1997), allof which are hereby incorporated by reference.

System 100, in one exemplary embodiment, also includes a client computer150 and an application server 140, both connected to network 120. Clientcomputer 150 may be any computing device and/or system to facilitate theconfiguration of POS terminal 110. Client computer 150 may be in theform of a network computer, a workstation, a minicomputer, a mainframecomputer, a personal computer, a laptop, a notebook, a hand heldcomputer, a set-top box, and the like. Client computer 150 may includeother servers or other computing systems including a processor forprocessing digital data, a memory connected to the processor for storingdigital data, an input digitizer connected to the processor forinputting digital data, an application program stored in the memory andaccessible by the processor for directing processing of digital data bythe processor, a display connected to the processor and memory fordisplaying information derived from digital data processed by theprocessor, and one or more databases, each database including clientdata, merchant data, host institution data, and/or like data that couldbe used in association with the present invention. As those skilled inthe art will appreciate, client computer 150 will typically include anoperating system (e.g., Windows XP, NT, 95/98/2000, Linux, Solaris, andthe like) as well as various conventional support software and driverstypically associated with computers.

In accordance with another aspect of the invention, system 100, may alsoinclude a content provider computer 160 connected to network 120.Content provider computer 160 may be any computing device and/or systemthat provides applications and/or demonstration applications from athird party content provider such as a value added reseller (VAR).Content provider computer 160 may be in the form of a network computer,a workstation, a minicomputer, a mainframe computer, a personalcomputer, a laptop, a notebook, a hand held computer, a set-top box, andthe like.

In connection with another exemplary embodiment, and with momentaryreference to FIG. 1B, POS terminal 110 is connected to a first network122, and client computer 150 is connected to a second network 124. Inthis embodiment, application server 140 is connected to first network122 and second network 124, such that application server 140 cancommunicate with POS terminal 110 and client computer 150. In accordancewith another aspect of this embodiment of the invention, a contentprovider computer 160 may be connected to a third network 126. Contentprovider computer 160 may be any computing device and/or system thatprovides applications and/or demonstration applications from a thirdparty content provider such as a VAR.

Client computer 150 may be in a home or business environment with accessto network 120. In an exemplary embodiment, access to the. Internet isthrough a commercially-available web-browser software package. Notably,one skilled in the art will also appreciate that, for security reasons,any databases, systems, or components of system 100 may consist of anycombination of databases or components at a single location or atmultiple locations, wherein each database or system includes any ofvarious suitable security features such as firewalls, access codes,encryption, de-encryption, compression, decompression, and/or the like.

Each database may be any type of database known in the art, such asrelational, hierarchical, object-oriented, and/or similar databases.Common products that may be used to implement the databases include DB2by IBM of White Plains, N.Y.; any of the database products availablefrom Oracle Corporation of Redwood Shores, Calif.;

Microsoft Access or MSSQL by Microsoft Corporation of Redmond, Wash.; orany other suitable database product. Each database may be organized inany suitable manner, including organized as data tables or lookuptables. Association of certain data may be accomplished through any dataassociation technique known and practiced in the art. For example, theassociation may be accomplished either manually or automatically.Automatic association techniques may include, for example, a databasesearch, a database merge, GREP, AGREP, SQL, and/or the like. Theassociation step may be accomplished by a database merge function, forexample, using a “key field” in each of the manufacturer and retailerdata tables. A “key field” partitions the database according to thehigh-level class of objects defined by the key field. For example, acertain class may be designated as a key field in both the first datatable and the second data table, and the two data tables may then bemerged on the basis of the class data in the key field. In thisembodiment, the data corresponding to the key field in each of themerged data tables is preferably the same. However, data tables havingsimilar, though not identical, data in the key fields may also be mergedby using AGREP, for example.

Client computer 150 may be suitably configured to set up and configurePOS terminal 110. Client computer 150 contains software that controlswhich applications that terminal 110 may access from application server140. In accordance with one aspect of the present invention, clientcomputer 150 may use the terminal identifier of POS terminal 110 topermit access to certain applications from application server 140, andto prohibit access to other certain applications from application server140. The access to applications may be determined on a terminal byterminal basis, or for a class of terminals, such as all POS terminalsin restaurants, or for the entire set of terminals in communication withclient computer 150. For example, POS terminals in convenience storesmay be able to access an application for ID verification (that is, anapplication used to verify that a consumer is old enough to purchaseliquor or some other item such as cigarettes), while POS terminals inanother type of location, such as office supply stores, may not be ableto access ID verification applications, as there is no need to verifythe age of a consumer in an office supply store.

Application server 140 may be any software and/or hardware suitablyconfigured to store one or more downloadable applications for a POSterminal and/or downloadable demonstration applications for each of theapplications, and configured to allow POS terminal 110, whenappropriate, to download the application(s) and demonstrationapplication(s). Furthermore, the invention contemplates that applicationserver 140 may be any application server known in the art or developedin the future.

In one exemplary embodiment, application server 140 is suitablyconfigured to retrieve the terminal identifier in POS terminal 110 whenPOS terminal 110 purchases and/or downloads software applications totrack which entity is making the purchase or downloading theapplication. Furthermore, application server 140 may be configured tokeep track of the number of applications downloaded from it. Moreover,application server 140 may be auditable for the number of specificapplications downloaded by POS terminals within a particular populationor industry, the number of specific applications downloaded acrosspopulations or industries, and/or all applications downloaded by aspecific terminal.

In accordance with one exemplary embodiment of the invention, theapplication(s) or demonstration application(s) are compiled machine codeapplications configured to run within the framework application of POSterminal 110. In another exemplary embodiment, the application(s) ordemonstration application(s) are compiled machine code applicationsconfigured to run independent of the framework application of POSterminal 110. The application(s) or demonstration application(s), in yetanother exemplary embodiment, are written in computer language that isinterpreted and displayed by the framework application of POS terminal110 involving screen flows and actions. In still another exemplaryembodiment of the invention, the application(s) or demonstrationapplication(s) are provided in American Standard Code for InformationInterchange (ASCII) text form.

POS terminal 110, application server 140, and client computer 150 may becoupled to network 120 via data links. A variety of conventionalcommunications media and protocols may be used for data links. Forexample, a connection to an Internet Service Provider (ISP) over thelocal loop may be used in connection with standard modem communication,cable modem, Dish networks, ISDN, Digital Subscriber Line (DSL), orvarious wireless communication methods. System 100 might also residewithin a local area network (LAN) which interfaces to network via aleased line (T1, D3, etc.). Such communication methods are well known inthe art, and are covered in a variety of standard texts. See, e.g.,GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), herebyincorporated by reference.

In operation, system 100 functions to allow POS terminal 110 to downloadsoftware applications or demonstration applications from applicationserver 140. In accordance with one exemplary embodiment of theinvention, system 100 is configured such that POS terminal 110 is ableto only download applications and/or demonstration applications fromapplication server 140. In accordance with an aspect of one exemplaryembodiment of the invention, application server 140 stores one or moreapplications and/or demonstration applications offered by themanufacturer of POS terminal 110. The user (via POS terminal 110) maydownload the demonstration application prior to purchasing the actualapplication, or may simply wish to purchase the application, whereinapplication server 140 permits POS terminal 110 to download theapplication after it has been purchased.

In accordance with another aspect of the invention, application server140 stores one or more applications and/or demonstration applicationsoffered by the manufacturer and/or distributor (client) of POS terminal110. In accordance with this aspect of the invention, the user maydownload demonstration applications, and/or purchase and downloadapplications similar to the aspect discussed above. Furthermore, when anapplication of the distributor is purchased by the user, applicationserver 140 notifies the distributor. The distributor may be notifiedeach time an application is purchased and/or on a batch basis at the endof a pre-determined period of time (e.g., daily, weekly, monthly,quarterly, semi-annually, yearly, and the like), and an appropriatepayment (e.g., a royalty, set fee, and the like) may be made to thedistributor. Thus, in accordance with one embodiment of the invention,system 100 may be characterized as a “manufacturer hosted” system.Alternatively, in accordance with another embodiment of the presentinvention, application server may be maintained by a third party, andsystem 100 may be characterized as a “third party hosted” system.

FIG. 2 is a block diagram of another exemplary embodiment of a system200 to allow a user to demonstrate and/or purchase software applicationsfor a POS terminal 210 utilizing POS terminal 210 itself. System 200, invarious exemplary embodiments, includes POS terminal 210, network 220,client computer 250, and application server 260 similar to POS terminal110, network 120, client computer 150, and application server 140discussed above with reference to FIG. 1A. In accordance with oneexemplary embodiment, application server 260 stores applications and/ordemonstration applications of the applications which are downloadable byPOS terminal 210. The demonstration applications are available fordownload prior to purchase of the applications similar to embodimentsdiscussed above. Furthermore, the applications are available forpurchase either before or after the user has viewed/downloaded thedemonstration application similar to embodiments discussed above. Thus,system 200 may be characterized as a “client hosted” or “distributorhosted” system.

FIG. 3 is a screenshot of one exemplary embodiment of a POS terminalscreen 300 illustrating icons to various program options. In accordancewith one exemplary embodiment, screen 300 includes a menu listingportals/links to a lodging platform, an automobile platform, arestaurant platform, a shopping platform, and an update platform. Inaccordance with another exemplary embodiment, the menu includes aportal/link 310 to an available application platform, wherein a user isable to view a menu of portals/links to available applications and/oravailable demonstration applications. Notably, while specific platformshave been identified, the invention contemplates that various otherplatforms may be included on the menu.

FIG. 4 is a screenshot of screen 300 illustrating a menu ofportals/links to the available applications and/or availabledemonstration applications discussed above with reference to FIG. 3. Theapplications and/or demonstration applications may be any applicationsuitable for downloading onto a POS terminal (e.g., POS terminals 110and 210). Notably, while specific applications have been illustrated onthe menu, the invention contemplates that any application appropriatefor downloading onto a POS terminal may be included on the menu Examplesof applications that may be downloaded include ID validation software,couponing applications, and games.

FIG. 5 is a screenshot of one exemplary embodiment of a sub-menu one ofthe portals/links illustrated in FIG. 4. The sub-menu enables the userto download the demonstration application, and/or purchase and downloadthe application onto a POS terminal (e.g., POS terminals 110 and 210).

FIG. 6 is a flow diagram of an exemplary method 600 to allow a user todemonstrate and/or purchase applications for a POS terminal (e.g., POSterminals 110 and 210) utilizing the POS terminal itself. In accordancewith one exemplary embodiment of the invention, method 600 initiates bystoring applications in an application server (step 610). Theapplications may be applications for purchase and downloading onto thePOS terminal, and/or the applications may be demonstration applicationsof the applications.

In one exemplary embodiment, method 600 includes the step of providing amenu to a user on the POS terminal (step 620). The menu may includeportals/links to several platforms, including a portal/link to aplatform wherein the user may download and/or purchase applicationsand/or demonstration applications. In accordance with one exemplaryembodiment of the invention, method 600 includes providing, on the menu,a link/portal to a sub-menu for downloading applications and/ordemonstration applications (step 630). Furthermore, method 600 includesthe step of allowing the POS terminal to download one or moredemonstration applications (step 640). Moreover, method 600 includesreceiving a request from a user (via the POS terminal) to purchase oneor more applications (step 650), then allowing the POS terminal todownload any purchased applications (step 660).

As will be appreciated by one of ordinary skill in the art, the presentinvention may be embodied as a method, a data processing system, adevice for data processing, and/or a computer program product.Accordingly, the present invention may take the form of an entirelysoftware embodiment, an entirely hardware embodiment, or an embodimentcombining aspects of both software and hardware. Furthermore, thepresent invention may take the form of a computer program product on acomputer-readable storage medium having computer-readable program codemeans embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized, including hard disks, CD-ROM, opticalstorage devices, magnetic storage devices, and/or the like.

Moreover, the invention is described herein with reference to screenshots, block diagrams and flowchart illustrations of methods, apparatus(e.g., systems), and computer program products according to variousaspects of the invention. It will be understood that each functionalblock of the block diagrams and the flowchart illustrations, andcombinations of functional blocks in the block diagrams and flowchartillustrations, respectively, can be implemented by computer programinstructions. These computer program instructions may be loaded onto ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions which execute on the computer or other programmabledata processing apparatus create means for implementing the functionsspecified in the flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Furthermore, the invention is described herein in terms of functionalblock components, screenshots, optional selections and variousprocessing steps. It should be appreciated that such functional blocksmay be realized by any number of hardware and/or software componentsconfigured to perform the specified functions. For example, systems 100and 200 may employ various integrated circuit components, e.g., memoryelements, processing elements, logic elements, look-up tables, and thelike, which may carry out a variety of functions under the control ofone or more microprocessors or other control devices. Similarly, thesoftware elements of systems 100 and 200 may be implemented with anyprogramming or scripting language such as C, C++, Java, COBOL,assembler, PERL, Visual Basic, SQL Stored Procedures, extensible markuplanguage (XML), with the various algorithms being implemented with anycombination of data structures, objects, processes, routines or otherprogramming elements. Further, it should be noted that the systems 100and 200 may employ any number of conventional techniques for datatransmission, signaling, data processing, network control, and the like.Still further, systems 100 and 200 could be used to detect or preventsecurity issues with a client-side scripting language, such asJavaScript, VBScript, or the like. For a basic introduction ofcryptography and network security, the following may be helpfulreferences: (1) “Applied Cryptography: Protocols, Algorithms, And SourceCode In C,” by Bruce Schneier, published by John Wiley & Sons (secondedition, 1996); (2) “Java Cryptography” by Jonathan Knudson, publishedby O'Reilly & Associates (1998); (3) “Cryptography & Network Security:Principles & Practice” by William Stalling, published by Prentice Hall;all of which are hereby incorporated by reference.

Accordingly, functional blocks of the block diagrams and flowchartillustrations support combinations of means for performing the specifiedfunctions, combinations of steps for performing the specified functions,and program instruction means for performing the specified functions. Itwill also be understood that each functional block of the block diagramsand flowchart illustrations, and combinations of functional blocks inthe block diagrams and flowchart illustrations, can be implemented byeither special purpose hardware-based computer systems which perform thespecified functions or steps, or suitable combinations of specialpurpose hardware and computer instructions.

Benefits, other advantages, and solutions to problems have beendescribed herein with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any element(s) that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as critical, required, or essentialfeatures or elements of any or all the claims or the invention. As usedherein, the terms “comprises”, “comprising”, or any other variationthereof, are intended to cover a non-exclusive inclusion, such that aprocess, method, article, or apparatus that comprises a list of elementsdoes not include only those elements but may include other elements notexpressly listed or inherent to such process, method, article, orapparatus. Further, no element described herein is required for thepractice of the invention unless expressly described as “essential” or“critical”.

1. A computer-implemented method to allow a user to download anapplication for a point of sale (POS) terminal utilizing said POSterminal, comprising the steps of: storing said application on anapplication server; and allowing, by said application server, said POSterminal to download said application from said application server. 2.The computer-implemented method of claim 1, further comprising the stepof: receiving a purchase request from said POS terminal prior to saidallowing step.
 3. The computer-implemented method of claim 1, furthercomprising the step of: allowing, by said application server, said POSterminal to download a demonstration application of said application. 4.The computer-implemented method of claim 3, further comprising the stepsof: collecting information about a type of said demonstrationapplication that is downloaded by said POS terminal; and reporting saidcollected information to a manufacturer of said demonstrationapplication.
 5. The computer-implemented method of claim 1, furthercomprising the step of: providing, by said application server, a firstmenu to said POS terminal, said first menu comprising a first portal tosaid application.
 6. The computer-implemented method of claim 5, furthercomprising the step of: providing, by said application server, a secondmenu to said POS terminal, said second menu comprising a plurality ofportals to a plurality of applications, wherein one of said plurality ofportals is said first portal.
 7. The computer-implemented method ofclaim 1, further comprising the step of utilizing a client computer toconfigure access to said application by said POS terminal.
 8. Acomputer-implemented method to allow a user to download at least one ofan application for a point of sale (POS) terminal and a demonstrationapplication of said application utilizing said POS terminal, comprisingthe steps of: storing at least one of said application and saiddemonstration application on a computing device; and allowing, by saidapplication server, said POS terminal to download one of saidapplication and said demonstration application.
 9. Thecomputer-implemented method of claim 8, further comprising the step of:receiving a purchase request from said POS terminal prior to saidallowing step when said allowing comprises allowing said POS terminal todownload said software application.
 10. The computer-implemented methodof claim 8, further comprising the step of: providing, by saidapplication server, a first menu to said POS terminal, said first menucomprising a first portal to one of said application and saiddemonstration application.
 11. The computer-implemented method of claim10, further comprising the step of: providing, by said applicationserver, a second menu to said POS terminal, said second menu comprisinga plurality of portals to a plurality of applications, wherein one ofsaid plurality of portals is said first portal.
 12. Thecomputer-implemented method of claim 8, further comprising the step ofutilizing a client computer to configure access to at least one of saidapplication and said demonstration application by said POS terminal. 13.A machine-readable medium having stored thereon a plurality ofinstructions, said plurality of instructions when executed by aprocessor cause said processor to perform a method comprising said stepsof: storing said application on an application server; and allowing, bysaid application server, said POS terminal to download said applicationfrom said application server.
 14. The machine-readable medium of claim13, further comprising instructions to cause said processor to performthe further steps of: receiving a purchase request from said POSterminal prior to said allowing step.
 15. The machine-readable medium ofclaim 13, further comprising instructions to cause said processor toperform the further steps of: allowing, by said application server, saidPOS terminal to download a demonstration application of saidapplication.
 16. The machine-readable medium of claim 13, furthercomprising instructions to cause said processor to perform the furthersteps of: providing, by said application server, a first menu to saidPOS terminal, said first menu comprising a first portal to saidapplication.
 17. The machine-readable medium of claim 16, furthercomprising instructions to cause said processor to perform the furthersteps of: providing, by said application server, a second menu to saidPOS terminal, said second menu comprising a plurality of portals to aplurality of applications, wherein one of said plurality of portals issaid first portal.
 18. A machine-readable medium having stored thereon aplurality of instructions, said plurality of instructions when executedby a processor cause said processor to perform a method comprising saidsteps of: storing at least one of said application and saiddemonstration application on a computing device; and allowing, by saidapplication server, said POS terminal to download one of saidapplication and said demonstration application.
 19. The machine-readablemedium of claim 18, further comprising instructions to cause saidprocessor to perform the further steps of: receiving a purchase requestfrom said POS terminal prior to said allowing step when said allowingcomprises allowing said POS terminal to download said application. 20.The machine-readable medium of claim 18, further comprising instructionsto cause said processor to perform the further steps of: providing, bysaid application server, a first menu to said POS terminal, said firstmenu comprising a first portal to one of said software application andsaid demonstration application.
 21. The machine-readable medium of claim20, further comprising instructions to cause said processor to performthe further steps of: providing, by said application server, a secondmenu to said POS terminal, said second menu comprising a plurality ofportals to a plurality of applications, wherein one of said plurality ofportals is said first portal.
 22. A computer system to allow a point ofsale (POS) terminal to download an application, comprising: anapplication server in communication with said POS terminal via a firstnetwork, said application server configured to: store said application;and allow said POS terminal to download said application from saidapplication server via said first network.
 23. The computer system ofclaim 22, wherein said application server is further configured toreceive a purchase request from said POS terminal prior to allowing saidPOS terminal to download said application.
 24. The computer system ofclaim 22, further comprising a client computer in communication withsaid POS terminal via a second network, wherein said client computer isconfigured to control access to said application by said POS terminal.